package top.jlzhou.tools.http;

import java.io.InputStream;

/**
 * 响应
 * @ClassName	top.jlzhou.tools.http.Response
 * @author	J.L.Zhou
 * @date	2019年3月9日 下午4:55:03
 * @version 	V1.0
 * @Copyright	2019 jlzhou.top Inc. All rights reserved. 
 * 	注意：本内容仅限于公司内部传阅，禁止外泄以及用于其他的商业目
 */
public interface Response {

	/**
	 * 获取状态码
	 * @Title	getStatus   
	 * @return      
	 * @throws	CodeException:
	 */
	int getStatus();
	
	/**
	 * 获取字符串正文
	 * getBodyString
	 * @return      
	 * @throws	CodeException:
	 */
	String getBodyString()throws Exception;
	
	/**
	 * 
	 * getBodyString
	 * @param charset
	 * @return
	 * @throws Exception      
	 * @throws	CodeException:
	 */
	String getBodyString(String charset)throws Exception;
	
	/**
	 * 获取输入流正文
	 * getBodyStream
	 * @return      
	 * @throws	CodeException:
	 */
	InputStream getBodyStream()throws Exception;
	
	long getContentLength();
	
	String getContentEncoding();
	
	String getContentType();
	
	/**
	 * 获取响应头数组
	 * getHeaders
	 * @param name
	 * @return      
	 * @throws	CodeException:
	 */
	Header[] getHeaders(String name);
	
	/**
	 * 获取响应头
	 * getHeader
	 * @param name
	 * @return      
	 * @throws	CodeException:
	 */
	Header getHeader(String name);
}
